Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2002
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour M25 Astana Mallorca Challenger Zhangjiagang Challenger Chengdu Open - Chengdu Astana Open - Astana Lisbon Challenger Shenzhen 1 Challenger Buenos Aires Challenger Montevideo Challenger Santa Fe 2 Challenger Playford Challenger Sydney Challenger Brasilia Challenger Oeiras 2 Challenger Noumea Challenger Oeiras 1 Challenger Manama Challenger Tenerife 2 Challenger Acapulco Challenger Tenerife 3 Challenger Girona Challenger Murcia Challenger Oeiras 3 Challenger Millennium Estoril Open - Estoril Cuernavaca Challenger Francavilla Challenger Taipei Challenger Zagreb Challenger Wuxi Challenger Oeiras 4 Challenger Poznan Challenger Porto Challenger Modena Challenger Salzburg Challenger Milan Challenger Blois Challenger Zug Challenger Grodzisk Mazowiecki Challenger Seville Challenger Porto 2 Challenger Lisbon Challenger M25 Vila Real de Santo Antonio Curitiba Challenger Valencia Challenger Campinas Challenger Taipei 2 Challenger Shenzhen Challenger Guayaquil Challenger Lima 2 Challenger Montevideo Challenger Tenerife 1 Challenger M25 Vila Real de Santo Antonio Oeiras 3 Challenger Oeiras 4 Challenger M25 Vale do Lobo Astana Challenger Oeiras 1 Challenger Oeiras 2 Challenger M25 Porto Estoril Challenger Oeiras 5 Challenger M25 Mataro Pozoblanco Challenger Porto Challenger USA F17 USA F23 USA F25 USA F32 New Zealand F1 Australia F3 Japan F1 Japan F2 Japan F3 Thailand F3 Japan F4 Japan F5 Japan F7 Japan F8 Italy F24 Italy F25 Italy F26 Germany F12 Germany F13 Australia F6 Australia F7 Australia F8 New Zealand F2 Australia F3 Australia F4 Australia F5 Mexico F8 Italy F17 Italy F19 Italy F20 Italy F21 Italy F22 Italy F23 Italy F24 Italy F26 Italy F27 Italy F28 Australia F8 Australia F9 Australia F10 Spain F32 Australia F11 Portugal F4 Portugal F5 Portugal F6 Spain F7 New Zealand F1 Portugal F1 New Zealand F2 Portugal F2 Australia F3 Portugal F3 Japan F1 Japan F2 Korea F1 Korea F2 China F1 Spain F17 China F2 Spain F18 China F3 USA F15 USA F16 USA F17 USA F20 USA F21 Ecuador F1 Ecuador F2 Ecuador F3 Sweden F5 USA F26 Australia F8 Mexico F10 Australia F9 Mexico F11 Australia F10 USA F1 USA F2 USA F3 Colombia F2 Thailand F1 Thailand F2 New Zeland F1 New Zeland F2 Australia F4 USA F10 USA F11 USA F12 USA F13 Australia F5 Australia F10 Malaysia F1 Malaysia F2 Australia F11 Australia F12 Costa Rica F1 Colombia F2 Australia F1 Australia F2 Canada F1 Canada F2 New Zealand F1 Canada F3 New Zealand F2 New Zealand F3 Usa F7 Usa F8 Australia F3 Australia F4 Czech Rep. F2 Czech Rep. F3 Spain F18 Egypt F7 Egypt F8 Netherlands F2 Netherlands F3 Usa F14 Italy F17 Usa F15 Usa F18 Thailand F3 Australia F6 Thailand F4 Thailand F5 Thailand F6 Vietnam F1 Australia F11 Australia F1 Usa F5 Australia F2 Portugal F3 Switzerland F3 Usa F8 Spain F11 Italy F5 Usa F13 Usa F14 Usa F15 Brazil F22 Australia F5 China F7 China F8 Australia F9 Brazil F31 Brazil F32 Brazil F33 New Zealand F1 Australia F12 Australia F13 Brazil F1 Colombia F1 Colombia F2 USA F7 Australia F3 Australia F4 Italy F13 Italy F20 Italy F22 Brazil F26 Italy F23 Brazil F33 Australia F8 Australia F9 Australia F10 Australia F11 Australia F12 Australia F13 Australia F1 Australia F3 Australia F4 Vietnam F1 Vietnam F2 Vietnam F3 Thailand F1 Thailand F2 Thailand F3 Germany F5 Italy F14 Germany F8 France F13 Austria F4 Germany F13 Germany F14 Vietnam F5 Japan F8 Australia F11 Australia F12 Australia F1 Australia F4 Australia F5 China F3 Korea F3 Korea F4 Japan F7 Japan F8 Australia F9 Australia F10 Korea F10 Korea F11 Australia F9 Australia F10 Australia F4 Australia F5 Korea F1 Korea F2 USA F17 Canada F10 Australia F10 Australia F11 Australia F1 Australia F3 USA F16 USA F17 USA F18 USA F22 USA F10 Finland F1 Finland F2 Canada F6 Canada F7 USA F31 USA F33 USA F34 USA F35 USA F36 USA F37 USA F40 China F1 (Anning) China F2 (Anning) Australia F2 (Canberra) China F7 (Wuhan) China F8 (Fuzhou) China F9 (Luan) Thailand F1 (Hua Hin) USA F19 (Winston-Salem) USA F22 (Pittsburgh) USA F24 (Champaign) Thailand F8 (Nonthaburi) USA F19 Thailand F10 (Hua Hin) Hong Kong F2 (Hong Kong) China F10 (Shenzhen) Kazakhstan F8 (Shymkent) M15 Sintra M15 Sintra M25 Porto M25 Vale Do Lobo M25 Villena M25 Vale do Lobo M25 Faro M25 Vale do Lobo Mexico F7 M15 Naples M25 Guayaquil M15 Cancun M25 Canberra M25 Canberra M25 Anapoima M15 Chiang Rai M15 Chiang Rai M25 Chiang Rai M25 Chiang Rai M15 Chiang Rai M15 Chiang Rai M25 Nur-Sultan M25 Tbilisi M25 Tbilisi M25 Tbilisi M25 Darwin M25 Darwin M25 Tay Ninh M25 Tay Ninh M25 Traralgon M25 Traralgon M15 Tauranga M25 Anapoima USA F24 Italy F18 New Zealand F1 Japan F6 Netherlands F1 New Zealand F2 Uncle Toby's Australian Men's Clay Court Challenger - Canberra Mexico F1 Kia International In Kawana - Kawana Naples Challenger - Naples Caloundra ATP Challenger - Caloundra 2007 Knoxville Challenger - Knoxville Club Coop's ATP Challenger International - Brisbane McDonalds ATP Challenger - Burnie Baton Rouge Pro Tennis Classic - Baton Rouge Roma Open Challenger - Rome Nielsen USTA Pro Tennis Championship - Winnetka Challenger Banque Nationale - Granby Moncton Men's Challenger - Moncton Fifth Third Bank Tennis Championships - Lexington Oldum Brown Vancouver Open - Vancouver Levene Gouldin & Thompson Tennis Challenger - Binghamton GHI Bronx Tennis Classic - Bronx New Delhi Challenger IV - New Delhi Semgroup Challenger - Tulsa Sacramento Challenger - Sacramento Ford Tennis Championships - Louisville Challenger Britania Zavaleta - Puebla Abierto Internacional Varonil Ciudad de Cancun - Cancun Sao Paulo Challenger Salinas Challenger Melbourn Challenger Samarkand Challenger Karshi Challenger Almaty Challenger Toyota Challenger Burnie Challenger Kyoto Challenger Leon Challenger Tallahassee Challenger Tunis Challenger Savannah Challenger Sarasota Challenger Carson Challenger Ojai Challenger Lexington Challenger Beijing Challenger Campos do Jordao Challenger Brasilia Challenger Samarkand Challenger Astana Challenger Montevideo Challenger Asuncion Challenger Santiago Challenger Sao Paulo Challenger Sao Paulo Challenger Bucaramanga Challenger Burnie Challenger Dallas Challenger Le Gosier Challenger Guangzhou Challenger Pingguo Challenger Recife Challenger Prague Challenger Bordeaux Challenger Busan Challenger Australia F4 Cremona Challenger Alessandria Challenger Rijeka Challenger Milan Challenger Marburg Challenger Campos do Jordao Challenger Trani Challenger Shanghai Challenger Ningboo Challenger Campinas Challenger Recife Challenger Bangkok Challenger Belo Horizonte Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Buenos Aires Challenger Guayaquil Challenger Montevideo Challenger Sao Paulo Challenger Honolulu Challenger Bucaramanga Challenger Burnie Challenger Singapore Challenger Florianopolis Challenger Kyoto Challenger Le Gosier Challenger Dallas Challenger Blumenau Challenger Santos Challenger Sao Paulo Challenger Bordeaux Challenger Caltanissetta Challenger Furth Challenger Kosice Challenger Milan Challenger Arad Challenger Tampere Challenger Bangkok Challenger Shanghai Challenger St. Remy Challenger Campinas Challenger Belem Challenger Australia F3 (Canberra) San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Sao Leopoldo Challenger ATP Challenger Tour Finals Sao Paulo Challenger Noumea Challenger Bucaramanga Challenger Burnie Challenger West Lakes Challenger Sydney Challenger Kyoto Challenger Itajai Challenger Santos Challenger Sao Paulo Challenger Anning Challenger Kun-Ming Challenger Bordeaux Challenger Busan Challenger Braunschweig Challenger Beijing Challenger Astana Challenger Bangkok Challenger Shanghai Challenger Kaoshuing Challenger Campinas Challenger Porto Alegre Challenger Sao Paulo Challenger Sao Jose Do Rio Preto Challenger Buenos Aires Challenger Melbourne Challenger Montevideo Challenger Bogota Challenger Guayaquil Challenger Noumea Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger West Lakes Challenger Panama City Challenger Barranquilla Challenger Itajai Challenger Sao Paulo Challenger Santos Challenger Aix En Provence Challenger Furth Challenger Blois Challenger Marburg Challenger Braunschweig Challenger Tampere Challenger Genova Challenger Shanghai Challenger Campinas Challenger Napa Challenger Porto Alegre Challenger Sacramento Challenger Charlottesville Challenger Traralgon Challenger Knoxville Challenger Traralgon Challenger 2 Champaign Challenger Bucaramanga Challenger Dallas Challenger Burnie Challenger Launceston Challenger Santo Domingo Challenger Irving Challenger Le Gosier Challenger Sarasota Challenger Savannah Challenger Tallahassee Challenger Aix En Provence Challenger Bordeaux Challenger Mestre Challenger Caltanissetta Challenger Blois Challenger Gimcheon Challenger Braunschweig Challenger Aptos Challenger Vancouver Challenger Como Challenger Meknes Challenger Campinas Challenger Columbus Challenger Tiburon Challenger Sacramento Challenger Sao Paulo Challenger Corrientes Challenger Fairfield Challenger Santiago Challenger Lima Challenger Traralgon Challenger Guayaquil Challenger Canberra Challenger Buenos Aires Challenger Montevideo Challenger Bangkok Challenger Rio De Janeiro Challenger Bucaramanga Challenger Launceston Challenger Jonkoping Challenger Kazan Challenger Napoli Challenger Sarasota Challenger Barletta Challenger Turin Challenger Savannah Challenger Tallahassee Challenger Bordeaux Challenger Bangkok Challenger Mestre Challenger Vicenza Challenger Milan Challenger Braunschweig Challenger Binghamton Challenger Lexington Challenger Lima Challenger Guayaquil Challenger Columbus Challenger Noumea Challenger Maui Challenger Barletta Challenger Sarasota Challenger Tallahassee Challenger Francavilla Challenger Savannah Challenger Rome Challenger Bordeaux Challenger Lisbon Challenger Todi Challenger Milan Challenger Braunschweig Challenger Medellin Challenger Scheveningen Challenger Binghamton Challenger Lexington Challenger Floridablanca Challenger Santo Domingo Challenger Como Challenger Quito Challenger Seville Challenger Bogota Challenger Shanghai Challenger Gwangju Challenger Rome Challenger Campinas Challenger Buenos Aires Challenger Ningboo Challenger Lima Challenger Ho Chi Minh City Challenger Canberra Challenger Guayaquil Challenger Montevideo Challenger Santiago Challenger Hua Hin Challenger Noumea Challenger Newport Beach Challenger Rennes Challenger Launceston Challenger Morelos Challenger Santiago Challenger Le Gosier Challenger San Luis Potosi Challenger Panama City Challenger Mexico City Challenger Barletta Challenger Guadalajara Challenger Tunis Challenger Leon Challenger Puerto Vallarta Challenger Braga Challenger Gimcheon Challenger Busan Challenger Shymkent Challenger Almaty Challenger Fergana Challenger Jinan Challenger Gwangju Challenger Como Challenger Genova Challenger Zhangjiagang Challenger Biella Challenger Almaty Challenger Campinas Challenger Santo Domingo Challenger Tashkent Challenger Traralgon Challenger Lima Challenger Canberra Challenger Guayaquil Challenger Montevideo Challenger Buenos Aires Challenger Noumea Challenger Orlando Challenger Columbus Challenger Newport Beach Challenger Launceston Challenger Chennai Challenger Bangkok Challenger Bangkok Challenger Yokohama Challenger Barletta Challenger Sarasota Challenger Francavilla Challenger Braga Challenger Lisbon Challenger Nur-Sultan Challenger Tampere Challenger Sopot Challenger Buenos Aires Challenger Campinas Challenger Santo Domingo Challenger Ann Arbor Challenger Lisbon Challenger Sao Paulo Challenger Maia Challenger Oeiras 1 Challenger Oeiras 2 Challenger Oeiras 3 Challenger Oeiras 4 Challenger Biella 7 Challenger Forli Challenger Milan Challenger Porto Challenger Amersfoort Challenger Tampere Challenger Poznan Challenger San Marino Challenger Verona Challenger Puerto Vallarta Challenger Maia 1 Challenger Maia 2 Challenger Bendigo Challenger Traralgon Challenger Cherbourg Challenger Forli 4 Challenger Forli 5 Challenger Monterrey Challenger Roseto Degli Abruzzi 2 Challenger Zadar Challenger Oeiras 1 Challenger Oeiras 2 Challenger Salinas Challenger Madrid Challenger Aix En Provence Challenger Bordeaux Challenger Forli 6 Challenger Perugia Challenger Montechiarugolo - Parma Challenger Braunschweig Challenger Nur-Sultan Challenger Lima Challenger Braga Challenger Lisbon Challenger Campinas Challenger Rio De Janeiro Challenger Las Vegas Challenger Playford Challenger Sydney Challenger Montevideo Challenger Sao Leopoldo Challenger Canberra Challenger Noumea Challenger Monterrey Challenger Waco Challenger Puerto Vallarta Challenger Las Franquesas del Valles Challenger Mexico City Challenger Girona Challenger San Luis Potosi Challenger Savannah Challenger Leon Challenger Busan Challenger Prague 2 Challenger Little Rock Challenger Tyler Challenger Palmas del Mar Challenger Cali Challenger M25 Quinta Do Lago M25 Quinta do Lago Atlanta Clay Court Challenger - Atlanta Heineken Open - Auckland Heineken Open - Auckland Estoril Open - Estoril Heineken Open - Auckland Estoril Open - Estoril Heineken Open - Auckland Delray Beach International Tennis Championships - Delray Beach Estoril Open - Estoril Pilot Pen Tennis - New Haven Heineken Open - Auckland U.S. Mens's Clay Court Championship - Houston Estoril Open - Estoril Heineken Open - Auckland U.S. Mens's Clay Court Championship - Houston Estoril Open - Estoril Campbells Hall of Fame Tennis Championships - Newport Heineken Open - Auckland Open de Nice Cote d'Azur - Nice PTT Thailand Open - Bangkok Heineken Open - Auckland VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Estoril Open - Estoril VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Delray Beach International Tennis Championships - Delray Beach Portugal Open - Oeiras Malaysian Open - Kuala Lumpur Heineken Open - Auckland U.S. National Indoor Tennis Championships - Memphis Delray Beach Open - Delray Beach Brasil Open - Sao Paulo Portugal Open - Oeiras Mercedes Cup - Stuttgart Bet-at-home Open - Hamburg Erste Bank Open - Vienna Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha Heineken Open - Auckland Abierto Mexicano Telcel - Acapulco US Men's Clay Court Championship - Houston M25 Reus BB&T Atlanta Open - Atlanta Millennium Estoril Open - Estoril Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo If Stockholm Open - Stockholm Aircel Chennai Open - Chennai ASB Classic - Auckland Apia International - Sydney Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Open Parc - Lyon Bet-at-home Open - Hamburg Chengdu Open - Chengdu ASB Classic - Auckland Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Abierto Mexicano - Los Cabos ASB Classic - Auckland Millennium Estoril Open - Estoril Millennium Estoril Open - Estoril Abierto Mexicano Telcel - Acapulco Challenger ATP de Cuenca Diario El Mercurio - Cuenca Sunset Moulding Challenger - Yuba City Kia International In Caloundra - Caloundra Kia International in Caloundra - Caloundra Bancolombia Open - Bogota Abierto Internacional de Salinas 'Dario Expreso' - Salinas New Delhi Challenger III - New Delhi Mexico City Challenger Gallagher International - Hamilton Fifth Third Bank Tennis Championships - Lexington Belo Horizonte Challenger M25 Figueira da Foz Sony Ericsson Open - Miami Fifth Third Bank Tennis Classic - Lexington Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Western & Southern Open - Cincinnati Yokohama Challenger BNP Paribas Open - Indian Wells Miami Open - Miami III Challenger Isla de Gran Canaria Ciudad de Telde - Telde Miami Open - Miami San Remo Tennis Cup - San Remo Manerbio Challenger Countrywide Classic USTA Men's Challenger - Carson Karshi Challenger Genoa Open Challenger-Fondazione Carige - Genova Salvador Challenger Architect Open - Budapest National Bank Men's Rimouski Challenger - Rimouski JSM Challenger of Champaign - Urbana ATP Challenger Numea - New Caledonia Buenos Aires Challenger U.S. Open - New York French Open - Paris Wimbledon - London Timisoara Challenger U.S. Open - New York French Open - Paris Wimbledon - London French Open - Paris Porto Alegre Challenger Burnie Challenger Prostejov Challenger Medellin Challenger Wimbledon - London Zhuhai Challenger U.S. Open - New York Australian Open - Melbourne French Open - Paris Lima 2 Challenger Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Brasov Challenger U.S. Open - New York Australian Open - Melbourne Wimbledon - London Todi Challenger Morelos Challenger U.S. Open - New York Braga Challenger Seville Challenger Braga Challenger Seoul Challenger U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Madrid Challenger Marburg Challenger Grodzisk Mazowiecki Challenger Traralgon Challenger Asuncion Challenger Davis Cup, Group 2, F, NZL-KOR 2-3 Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group 2, 2R, KUW-NZL 0-5 Davis Cup, Group 2, 1R, NZL-MAS 5-0 Davis Cup, Group 2, F, PHI-NZL, 4-1 Davis Cup, Group 2, 1R, SRI-NZL 2-3 Davis Cup, Asia/Oceania Group II, 2R, NZL-PAK 3-2 Davis Cup, Asia/Oceania Group II, 3R, THA-NZL 2-3 Davis Cup, Group I, 1R, UZB-NZL 3-2 Davis Cup, Group I, 1R, NZL-UZB 2-3 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group II, 3R, PHI-NZL 2-3 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, 1R, CHN-NZL 3-1 Mexico City Challenger Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group I, 1R, NZL-CHN 4-1 Davis Cup, Group I, 2R, NZL-IND 2-3 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, 1R, KOR-NZL 3-1 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, PO, NZL-PAK 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 1R, IND-NZL 4-1 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, Group I, PO, NZL-KOR 3-2 Davis Cup, Group I, 1R, CHN-NZL 3-1 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, PO, KOR-NZL 3-2 Davis Cup, World Group I, PO, NZL-VEN 3-1 Davis Cup, Group I, 1R, NZL-KOR 1-3 Davis Cup, Group I, 1R, ROU-POR 3-1 Sibiu Challenger Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, Group I, PO, NZL-URU 3-1 Shanghai Challenger Australian Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) U.S. Open (juniors) Wimbledon (juniors) Porto Challenger All Lower level tournaments Shenzhen 2 Challenger Temuco Challenger Lyon Challenger Girona Challenger Gerry Weber Open - Halle Estoril Open - Estoril Generali Open - Kitzbuhel Sydney Tennis Classic - Sydney Olympics - Rio de Janeiro Davis Cup, Group II, 1R, NZL-THA 3-1 French Open (juniors) Davis Cup, Group 2, 1R, NZL-LIB 5-0 Davis Cup, Group 2, 2R, KAZ-NZL 3-2 Davis Cup, Group 2, 1R, NZL-POC 5-0 Davis Cup, Group 2, 2R, PHI-NZL 4-1 Davis Cup, World Group II, 1R, NZL-LUX 2-3